/*!
* 
* Copyright (c) 2009 by yuqiang @ vcedu
* 
* Description:
*		This file is used internally, evey file which want to export some functions need to include this file
*	
* ChangeLog:
*		$Date$	$Rev$	$Author$
* 
*/	

#ifndef _DLLHEADER_H_
#define _DLLHEADER_H_

/*
#ifndef LIBRTP_EXPORTS
#define LIBRTP_EXPORTS
#endif

#ifdef LIBRTP_EXPORTS
#define LIBRTP_API __declspec(dllexport)
#else
#define LIBRTP_API __declspec(dllimport)
#endif
*/

#define LIBRTP_API __declspec(dllexport)

/** Three kind of receive modes can be specified. */
enum ReceiveMode 
{ 
	AcceptAll, /**< All incoming data is accepted, no matter where it originated from. */
	AcceptSome, /**< Only data coming from specific sources will be accepted. */
	IgnoreSome /**< All incoming data is accepted, except for data coming from a specific set of sources. */
};

/** Used to select compression/encoding type. */
enum CompressionType 
{ 
	/** U-law encoding. */
	ULaw, 
	/** A-law encoding. */
	ALaw,
	/** LPC compression. */
	LPC, 
	/** GSM 06.10 compression. */
	GSM, 
	/** Speex compression. */
	Speex,
	/** L16 mono. */
	L16Mono
};

/** If Speex compression is used, this is sed to select speex encoding type. */
enum SpeexBandWidth 
{ 
	/** Narrow band mode (8000 Hz) */
	NarrowBand,
	/** Wide band mode (16000 Hz) */
	WideBand,		
	/** Ultra wide band mode (32000 Hz) */
	UltraWideBand
};

#endif //_DLLHEADER_H_